package com.ruoyi.boss.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 用户详情-消费记录-新增对象 user_consumption_records
 * 
 * @author rui
 * @date 2025-08-18
 */
public class UserConsumptionRecords extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 消费记录ID */
    private Long consumptionId;

    /** 用户ID */
    private Long userId;

    /** 支付单号 */
    @Excel(name = "支付单号")
    private String paymentSerial;

    /** 事件类型 */
    @Excel(name = "事件类型")
    private Long eventType;

    /** 本金消费金额 */
    @Excel(name = "本金消费金额")
    private BigDecimal principalAmount;

    /** 赠送金额消费 */
    @Excel(name = "赠送金额消费")
    private BigDecimal giftAmount;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderSerial;

    /** 消费时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "消费时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date consumptionTime;

    /** 总消费金额 */
    private BigDecimal totalAmount;

    /** 创建时间 */
    private Date createdAt;

    /** 更新时间 */
    private Date updatedAt;

    public void setConsumptionId(Long consumptionId) 
    {
        this.consumptionId = consumptionId;
    }

    public Long getConsumptionId() 
    {
        return consumptionId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setPaymentSerial(String paymentSerial) 
    {
        this.paymentSerial = paymentSerial;
    }

    public String getPaymentSerial() 
    {
        return paymentSerial;
    }

    public void setEventType(Long eventType) 
    {
        this.eventType = eventType;
    }

    public Long getEventType() 
    {
        return eventType;
    }

    public void setPrincipalAmount(BigDecimal principalAmount) 
    {
        this.principalAmount = principalAmount;
    }

    public BigDecimal getPrincipalAmount() 
    {
        return principalAmount;
    }

    public void setGiftAmount(BigDecimal giftAmount) 
    {
        this.giftAmount = giftAmount;
    }

    public BigDecimal getGiftAmount() 
    {
        return giftAmount;
    }

    public void setOrderSerial(String orderSerial) 
    {
        this.orderSerial = orderSerial;
    }

    public String getOrderSerial() 
    {
        return orderSerial;
    }

    public void setConsumptionTime(Date consumptionTime) 
    {
        this.consumptionTime = consumptionTime;
    }

    public Date getConsumptionTime() 
    {
        return consumptionTime;
    }

    public void setTotalAmount(BigDecimal totalAmount) 
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount() 
    {
        return totalAmount;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("consumptionId", getConsumptionId())
            .append("userId", getUserId())
            .append("paymentSerial", getPaymentSerial())
            .append("eventType", getEventType())
            .append("principalAmount", getPrincipalAmount())
            .append("giftAmount", getGiftAmount())
            .append("orderSerial", getOrderSerial())
            .append("consumptionTime", getConsumptionTime())
            .append("totalAmount", getTotalAmount())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
